|
CATIA V5 Programmierung : Multiselect per Macro
AlexE78 am 12.12.2005 um 19:03 Uhr (0)
Nabend...was genau funktioniert denn nicht?Auf den ersten Blick kann ich jetzt nur sagen, daß Set selection1 = productDocument1.Selection Set selection2 = productDocument1.Selection Set selection3 = productDocument1.SelectionNICHT sinnvoll ist.Ein Dokument hat immer nur EINE Selection, egal wie viele Kopien (oder besser gesagt: Referenzen) Du davon anlegst. Wenn du also direkt hintereinander für jede Referenz eine Suche durchführst, werden die Suchergebnisse jedesmal überschrieben.mfg Alex
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part wird in Product eingefügt, aber nicht angezeigt
AlexE78 am 10.05.2006 um 11:05 Uhr (0)
Guten Morgen,ich verwende für das Einfügen von Geometrie (oChild) in ein Produkt/Komponente (oParent) folgende Funktionen:1) oParent.Products.AddComponentsFromFiles array(filename), "All" set oChild = oParent.Products.Item(oParent.Products.Count) oChild.ActivateDefaultShape2) set oChild = oParent.Products.AddNewProduct(partnumber) oChild.AddMasterShapeRepresentation(filename) oChild.ActivateDefaultShape1) funktioniert für alles, 2) sollte nicht für .CATParts verwendet werden, da sonst das umschalten ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameterausgabe im Product
AlexE78 am 21.04.2006 um 09:54 Uhr (0)
Guten Morgen,kann jetzt zwar nicht sagen, warum die .Item-Funktion fehlschlägt, aber ich hoffe, ich kann trotzdem helfen.Dein ursprünglicher Code war schon fast richtig. Aber innerhalb der For-Schleife wurden die Werte für Durch und oParameter nicht neu zugewiesen. Die Zuweisung der beiden Werte muß in der Schleife stattfinden, z.B:selection1.Search "Name=Auswereferlaenge,all"For I = 1 to Selection1.Count Set Durch = Selection1.Item(I).Value MsgBox Durch.ValueAsStringNext... Noch ein Hinweis:Es bringt n ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Catia V5 Transformationmatrix
AlexE78 am 26.07.2006 um 10:25 Uhr (0)
Guten Morgen.Diese Transformationsmatrix ist ein Array mit 12 Elementen.Diese besteht aus den vier Vektoren der Form (x,y,z).Die ersten drei bestimmen die x-, y- und z-Achse des Produkts relativ zum übergeordnete Produkt, der vierte bestimmt die Verschiebung des Nullpunktes (in mm) relativ zum Achsensystem des übergeordneten Produktes.Zusammengefaßt:dim matrix(11)(xx,xy,xz, yx,yy,yz, zx,zy,zz, tx,ty,tz)Position auslesen:oProduct.Position.GetComponents matrixPosition setzen:oProduct.Position.SetComponents ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part in Struktur ansprechen
AlexE78 am 01.02.2006 um 17:18 Uhr (0)
Ich nochmal...Man sollte halt alles nochmal durchlesen, bevor man auf speichern klickt Ich meinte: "ich würde dir empfehlen, zu überprüfen, ob das entsprechende Dokument auch ein Part ist...."Das kann man relativ einfach über die Dateiendung feststellen, d.h. man schneidet vom Dateinamen (oMyDocument.Fullname) die letzten 8 Zeichen ab und vergleich mit ".CATPart".In einer Schleife könnte das etwa so aussehen:for i = 1 to CATIA.Documents.Count set oMyDocument = CATIA.Documents.Item(i) if (right(oMyDocume ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part in Struktur ansprechen
AlexE78 am 01.02.2006 um 12:44 Uhr (0)
Hallo allerseits,das Problem dürfte darin bestehen, daß CATIA.Documents.Item alle geöffneten Dokumente berücksichtigt und dabei das aktive *.CATProduct als erstes Element (Item(1)) zurückgibt, welches natürlich keine .Part-Eigenschaft hat.Also solltest du empfehlen, ob du auch ein *.CATPart erhälsts, am besten mit right(oMyDocument.Fullname, 8) = ".CATPart" und andernfalls den entsprechenden Schleifendurchlauf überspringen.mfgAlex
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Product überspringen????
AlexE78 am 19.10.2005 um 09:25 Uhr (0)
Guten Morgen,ich mach sowas ähnliches mit rekursiven Funktionen. und dabei ist es natürlich kein problem, irgendwelche bedingungen einzufügen, die die rekursion abbrechen.z.B: alle Produkt-Namen im StrukturBaum ausgebendim sPSTNamessub ReadProdName(oProduct) Hier deine Abbruchbedingung if (instr(oProduct.Name, "Samson") 0) then exit sub sPSTNames = sPSTNames & ", " & oProduct.Name for each oSubProduct in oProduct.Products ReadProdName oSubProduct nextend subsub CATMain sPSTNames = "" ReadPro ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Pfad der geöffneten Datei übergeben
AlexE78 am 21.09.2005 um 10:21 Uhr (0)
Guten Morgen,Der Pfad eines geöffneten CATIA-Dokuments kann ganz allgemein mit sDocPath = oDoc.Pathabgefragt werden. Egal ob Part, Product oder Drawing...An das (geöffnete) Document-Object kommt man mit set oDoc = CATIA.ActiveDocumentoder set oDoc = CATIA.Documents.Item(sDocName | iDocIndex)mfg alex
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : "Zusammenbau" im Part
AlexE78 am 21.11.2005 um 10:03 Uhr (0)
Guten Morgen,"Zusammenbau" bzw. "Assemble" oder auch die restlichen boolschen Ops: Operand-Body für BoolOp auswählenset oMyBoolBody = oPart.Bodies.Item(iBody1) Ziel-Body auswählenoPart.InWorkObject = oPart.Bodies.Item(iBody2) BoolOp durchführenset oMyBoolOp = oPart.ShapeFactory.AddNewAssemble(oMyBoolBody) bzw AddNewAdd, AddNewRemovemfg Alex
|
| In das Form CATIA V5 Programmierung wechseln |